With the advent of the Internet, the communication of knowledge and information has altered dramatically. The coalescing of telecommunications with computers, especially personal computers (PCs), has allowed for the essentially instantaneous propagation of and/or exchanging of data and resources among users/collaborators on a world-wide basis.
The Internet, probably the most widely recognized interconnection network deployed today, is a loosely-coupled arrangement of networks that interconnects hundreds of thousands of PC systems, supercomputers, mainframes, workstations, laptops, and even pocket radios throughout the world. A pictorial representation of the Internet is shown in FIG. 1; this representation is one which is particularly instructive in the context of the present invention. As represented in FIG. 1, Internet 101 is a packet-oriented, connectionless (as distinct from circuit-switched) network of computers and telecommunication links. Exposed for view are certain components comprising Internet 101 at any instant, namely, PCs 102 and 103 as well as computers 104 and 105. Communication paths 111-114 to Internet 101, which couple PCs 102-103 and computers 104-105, respectively, to Internet 101, propagate packets using the standard TCP/IP protocol. Also shown are ports 121 and 122 which serve as the "entry points" into Internet 101 from PCs 101 and 102, respectively. A port allows for on-demand, non-permanent connection into Internet 101. On the other hand, computers 103 and 104 are shown as being permanently connected to (that is, part of) Internet 101.
Information available on the Internet is termed Internet Resources, and this term will be used to encompass text, video (such as movie clips, cartoons, interviews with people), images (such as famous paintings and pictures), sound (such as excerpts from speeches, music and promotional materials from corporations), databases (large collections of information such as electronic texts, encyclopedias, and dictionaries), documents (business and financial information, government documents such as Internal Revenue Service (IRS) forms), applications programs and interactive games. The integration of text, graphics, sound and/or video is known as multimedia.
About 1992, the World Wide Web (WWW, W3, or Web) was developed as a tool for locating and accessing the Internet Resources. The WWW is "hypertext" based. Hypertext is a database format that is a way of managing information that allows items of information to be connected using associative links. A hypertext database is composed of a number of Internet Resources that can be represented on a user's display screen (say a screen associated with PC 102). The Internet Resources are connected by links (also known as hyperlinks) which are also represented on the display screen. Links can be text based (words) or icons (pictures or symbols). For a PC system user to access the Internet Resources, the user follows links on the display screen by, for example, pointing and clicking a pointing device (such as a "mouse") or alternatively by hitting a key on the keyboard.
The basic building block of the WWW is a Web page which contains the Internet Resources and links. Web pages are written in HyperText Markup Language (HTML) which is a methodology for marking up documents with informational tags that indicate how the Internet Resources should be presented and how the Internet Resources are linked together. Each Web page has a unique address known as a Uniform Resource Locator (URL). By analogy, just as person can be located by street address, Internet Resources and Web pages can be located by their unique URLs.
A Web site is a collection of Web pages maintained by an entity such as a college, university, government agency, company or individual. Web pages and web sites are linked together via telecommunications networks and communication paths using various physical transmission media to form the WWW. It is often helpful to visualize the Internet as a multimedia hyperlinked database that spans the world.
The computers on the Internet communicate using the Transmission Control Protocol/Internet Protocol (TCP/IP), as alluded to with reference to FIG. 1. The TCP/IP protocol describes how information is propagated throughout the Internet. TCP/IP breaks the information into packets, routes those packets from the sending computer to the receiving computer and finally reassembles the packets once the packets reach the receiving computer. Oftentimes the TCP/IP protocol forms the basis for a higher-level protocol, which may be user-defined, as required.
Moreover, the reliability offered by TCP/IP is very useful and many other programs and/or open protocols are built on top of it. One such protocol is the HyperText Transfer Protocol (HTTP), a protocol designed for the rapid and efficient delivery of hypertext. Web pages and web sites are stored on computers known as Web servers or HTTP servers which are computers connected to the Internet that make Web pages and Web sites available to the world.
The HTTP servers or Web servers communicate using the HTTP protocol. The user's PC system establishes communication with the HTTP server, requests to view Web pages, and the HTTP server responds to these requests by sending information such as Web pages and/or Internet Resources to the user's PC system. The user's PC system continuously displays the information received from the HTTP server while it responds to user's key strokes or mouse input. Once the HTTP server has delivered the requested information to the user, the HTTP server retains no memory of the event that just took place.
The most widely used method for a home-based Internet user to access the Internet from his/her home is to connect to an Internet Service Provider (ISP), that is, an on-line service provider, using a PC system (e.g., PC 102) that includes a high-speed modem and communications software to dial-in to the ISP. The ISP provides the access port (e.g., port 121) for the dial-up user. In contrast, users in a commercial environment are typically part of the company's LAN and have a direct connection to the Internet. The pictorial representation of FIG. 2 summarizes the dial-in mode of interconnection; this mode is addressed by the present invention. ISP 201 typically deploys server-based computer 202 forming part of Internet 101; computer 202 may serve as the HTTP server for PC 102.
Typically, after the user completes a logon procedure, the user is then able to invoke a so-called Web-based browser and a default home page (initial Web page) accessed by the browser appears on the display screen. The WWW is accessible through the browser which is a program designed specifically for reading HTML of Web pages. When requested by the user's PC system, the HTTP server transmits the HTML directly to the browser. The browser usually has a graphical user interface (GUI) that displays the information in a graphical form or text only on the user's PC system.
The browser enables the user to not only access Web pages, but also to follow links, create bookmarks (saved URL addresses used to mark Web pages or Web sites that the user wants to revisit), and maintains a history list (allows the user to return to any Web page or Web site recently visited). Two conventional browsers are Netscape Navigator and Microsoft Internet Explorer.
The GUI of the browser allows the user to pick commands, start programs, and view documents or other options by selecting from windows, icons, links, and menus on the display screen. For example, a user can type queries (i.e. words or phrases) into search engines, follow ideas from one document to another using links, type a URL in the location bar and hit the enter key, select an item from one of a series of menus located on the browser (such as select a bookmark or select a Web site or Web page from the history list).
FIG. 3 depicts a conventional browser, namely, the Netscape Navigator, showing the Web page for Yahoo, Inc. Several menus for the Netscape Navigator are shown in FIG. 3. A menu is a on-screen list of available options and commands. Menu row 301 shows, for example, File menu 302, Edit menu 304, and so forth. These menus allow the user to open a new browser, open a file, and access a bookmark among other things. The menus also provide access to electronic mail (e-mail) which is a feature that allows the user to send messages and/or documents to a user of another computer as well as receive messages and/or documents.
As an alternative to menus, buttons can be selected for added functionality. Button rows 311 include, for example, the Back button 312 (to go back to the previous Web page or another Web page in the history list), Forward button 314 (to go forward in the history list), and so forth. Selecting these buttons can show Internet Resources, provide additional Web sites, or access a search engine to search the Web for phrases or a person's telephone number and/or address.
There is one window 350 (a rectangular area on the display screen used to hold information relating to a particular aspect of the browser currently in operation) which holds the Web page. Links on the Web page that are words include, for example, Arts & Humanities 322 through to Society and Culture 324. When these links are selected, Internet Resources are displayed or alternatively another Web page with more links is shown.
Location bar 332 of the browser contains the URL of the current Web page displayed. In this instance, the URL is "http://www.yahoo.com". Title bar 342 contains the name of the Web page currently being accessed; the page in FIG. 3 is entitled "Yahoo". This Web page also contains search engine 352. Yahoo is one of the available search engines which allows the user to type in a few words or phrases to be located. The search engine attempts to locate other Web pages related to the chosen words or phrases. The search engine will list the other related Web pages and the user can view these Web pages if interested.
Several features are available for added sophistication using the Web. For example, "frames" are a convenient mechanism for displaying more than one Web page in a browser. The browser can be split into parts which can be scrolled (move from the top of the page to the bottom of the page) individually. Each part of the display is called a frame. Different Web pages can be displayed in each frame. Alternatively, a list of categories (i.e. a tree of resources or table of contents) can be shown in one frame and the contents (set of links) in the other frame. Conventionally, the arrangement of the frames is static or fixed and set forth by the HTML of the Web pages. In FIG. 3, there is one frame in the browser and this frame contains the Web page for Yahoo as fixed by the designer of the Yahoo page.
A Web page can also contain other Internet Resources such as "applets", "plugins", and scripting language. All of these technologies add intelligence and interactivity to Web pages and support a greater range of functionality. An applet is a (small) application program that typically is stored on the Web server. The applet is downloaded (i.e. transfers from the Web server to the user's PC system) with the HTML of the Web page when a Web page is requested by the user. Once the applet is downloaded, it is activated and runs on the user's PC system. A common language for writing applets is the Java programming language, a language that allows Web masters (i.e. people who design Web pages) to create animated and interactive Web pages.
A plugin is a software program that performs a task that a Web browser cannot perform on its own. A plugin exploits the fully programmable power of the browser and extends the capabilities of the browser in a specific way such as providing the ability to play audio samples or view video movies on the browser display. Plugins work in connection with the browsers and allow users to see video and animation, hear sound, and run programs in their previously graphics- and text-bound Web pages. If the browser called Microsoft Internet Explorer is being used then the ActiveX technology is used to create ActiveX controls, which offer similar functionality to plugins.
As an alternative or supplement to an applet, plugin, and ActiveX control, scripting language can be utilized. Scripting commands are embedded in the HTML which forms the Web page. When a browser requests such a Web page, the Web server sends the full content of the document including HTML and scripting commands over the network to the user's PC system. When the HTML is transferred from the Web server to the user's PC system, the browser on the user's PC system then converts the HTML into a Web page, and executes the scripting commands producing the results the user sees. Scripting commands embedded in a document containing HTML can respond to user events such as mouse-clicks, form input, and commands to load and unload Web pages. When used in conjunction with a plugin or applet, the scripting language can be used to make the plugin or applet run a feature or program when the user selects a button on the display screen. A common scripting languages is JavaScript.
Another powerful facility for extending the functionality of the WWW is the ability to execute arbitrary programs on the HTTP server in response to user requests. The Common Gateway Interface (CGI) is the specified standard for interfacing these external applications with HTTP servers. "Cgi-bin" programs are executed in real-time so that dynamic information can be generated and displayed. A cgi-bin program can be written in any programming language. Cgi-bin programs are often used to process user input. A common example of a cgi-bin program is a search engine which processes a user request to search the Web for certain words or phrases.
One traditional use of the Internet has been to support real-time interpersonal communications. This class of applications includes Internet telephony (allows people to communicate using voice over the Internet), and Internet video packages (Internet telephony with video), and collaborative tools (allows people to work together even though they are located physically apart). These tools were primarily developed for the Internet before the advent of the WWW and are currently being adapted for use on the WWW.
Collaborative tools have been developed to increase the level of interaction between users in a telecommunications network. One such tool is a "chat program" which includes talk chat, voice chat, and video chat. Talk chat is a program that allows two or more users of computers to communicate by typing their remarks back and forth without exiting their display screen. Voice chat allows users to hear the voice of family, friends, colleagues, and any other people they wish to hear. Video chat enables the user to see another user while communicating.
Videoconferencing is another collaborative tool which comprises holding a conference among users at remote locations by means of transmitted video and audio signals via video and audio links respectively. The computers used for videoconferencing must have at least a camera, microphone and earphones or speakers and videoconferencing software.
Shared pointer and distributed pasteboard are collaborative tools that will be seen simultaneously by a group of users in a telecommunications network. With respect to the shared pointer, any user can move this pointer. Features of a shared pointer such as color, size, shape, and visibility can be altered by any user, and all other users see the changes to their pointer. The distributed pasteboard allows two or more users to edit a document containing text and/or graphics simultaneously using a collaborative document editor or other editing facilities.
Another collaborative tool is a whiteboard. A whiteboard is a shared workspace that two or more users can use to exchange notes and diagrams. A digital whiteboard is the direct electronic equivalent of a chalkboard or whiteboard, except that generally the people (i.e. users) who are using the whiteboard are physically in different parts of a building or world. A whiteboard permits a group of users to establish communication that allows all of the users to see or modify the whiteboard on their display screen. Whiteboards typically provide users with simple drawing tools like pens, geometric shapes (i.e. circles, squares, etc.), and allows users to import pictures. The color and width of the pen can be adjusted and freehand drawing is supported. Whenever the user modifies the display screen by adding text or graphics, all other users see the changes immediately on their respective whiteboard. Users can use the whiteboard to make presentations or work collaboratively on a picture or document.
To date, the attempts to integrate collaborative tools into the Web have produced mixed results. Collaborative tools such as shared whiteboards, shared pointers, and distributed pasteboards have not effectively been incorporated into the Web. Although chat programs and videoconferencing have been applied to the Web (i.e. by embedding them in the HTML of a Web page), they cannot be used flexibly. For instance, a chat program can be invoked and placed in a frame of a Web page when a Web page is visited, but cannot be started when needed under the control of one or more users without leaving the page.
Regarding videoconferencing, a user typically is required to download additional application programs to run the software. This can be a complex task for an infrequent or new user of the Web. All of these collaborative tools are not very extensible (i.e. plugins, ActiveX controls, and scripting language cannot be utilized to extend their functionality).
Unfortunately, since collaborative tools are not generally well integrated with the WWW, users are either navigating the Web or engaging in a collaborative conference (two or more users using collaborative tools) outside the Web. For a collaborative conference, a shared resource (i.e. shared whiteboard, shared pointer, distributed pasteboard, etc.) which is not on the Web is used as an information exchange medium. One drawback to using collaborative tools outside of the Web is that typically a user is required to pre-install them which is often difficult for the casual user of a PC system. Another drawback is that the collaborative tools mostly operate outside the Web as a separate application which is a disincentive to use.
There are also drawbacks to navigation of the WWW today since navigation is predominately self-guided. As previously mentioned, several methods of navigation on the WWW are currently available. A user can type queries (i.e. words or phrases) into search engines, follow ideas from one document to another using links, type in a URL in the location bar and hit the enter key, select an item from one of a series of menus located on the browser (such as select a bookmark or select a Web site or Web page from the history list).
These methods of navigation are flexible and easy to use, but do not reflect all the ways that people have traditionally communicated and acquired information. People normally communicate by talking to each other, engaging in a two-way conversation often with one person asking questions of the other if the person requires further information to make a decision. In particular, for the interactions between a expert and a novice or a teacher and a class of students, the expert and teacher typically provide information and/or answer questions posed to them.
Close examination of the expert/novice and teacher/class relationship on the Web exposes deficiencies since these relationships are poorly represented on the Web. As an example of a novice asking questions of an expert, consider a business advertising on the WWW. Users can search information provided by the business and place orders from their PC systems. However, sometimes users require personal assistance. Some users are unable to find the desired product on the Web site or alternatively have questions regarding a product that they need to ask a knowledgeable customer representative to solve their problems and address their needs.
The WWW docs not satisfactorily support the two-way interaction between people critical for these cases. As a result, fallback solutions normally adopted are (a) a telephone number to call for personal assistance; (b) an electronic form that must be filled in that is sent to the business setting forth details and then responded to by the customer representative; or (c) an e-mail address is given to send questions to the business.
There are problems associated with these fallback solutions. In the first case the user must go off-line (i.e. leave the PC system). It is often time consuming to telephone for personal assistance because this often requires selecting from numerous options from a voice menu using the user's telephone or voice. Often, several minutes transpire before the user is in contact with a human customer service representative. In the second two cases, the interaction is no longer real-time. It can take hours, even days, for a user to receive a response from the business. As a result of the above-mentioned drawbacks, users often attempt to find a competitor's Web site to search for a suitable product to meet their needs. The results are a loss of revenue to the business owning the Web page initially visited by the user. Thus, a need exists to provide the user with a real-time on-line interaction with a person (such as a customer representative).
As a second example consider educational training in a classroom setting. Traditional classroom learning is effective due to the teacher having access to a wide variety of resources. Viewgraphs, pictures, video and audio recordings, and a whiteboard/chalkboard is utilized. These resources can be easily accessed and used flexibly during the teacher's lesson. Students can ask questions during or after the presentation. The WWW does not currently support the functions required to promote effective learning in a traditional classroom setting. In particular, the ability to teach lessons interactively is not available on the WWW today. Thus, a need exists for a system and method to provide real-time interactive learning on the WWW.
Another drawback when perusing the Web is that many Web sites are complicated to navigate. Thus, there exists a need for a practical technique for providing a user with an overview of the key features of a Web site while minimizing frustration to the user due to the learning curve.
Very recently, research efforts have been devoted to alleviating the foregoing shortcomings and limitations. Representative of these efforts is the system developed by eFusion, Inc. of Beaverton, Oreg. The eBridge.TM. Interactive Web Response system delivers Internet-enabled consumers directly to call center agents--without the need for a callback--where they can talk and browse over a single phone line. However, while an agent and consumer are directly connected, the agent lacks the real utility to answer frequently asked questions fast and effectively. The agent and consumer view the same Web information on their individual displays, so that whatever the agent displays, the consumer also views, and vice versa. Thus, the displays of the agent and consumer are synchronized and the displays are essentially identical. This mode of operation precludes the agent from accessing and viewing resources privately/locally, on an interim basis, during the process of choosing the best information to display to the consumer. Thus, while it may take the agent tens of seconds or more to access and download a series of Web pages to provide an answer to a consumer question, the consumer is viewing the answer-seeking process without any real knowledge of what the agent is attempting to accomplish.
The art is generally devoid of teachings or suggestions for displaying information common to both the agent and the consumer while also providing a local display area for the agent to locally select/display information, with the facility for the agent to then propagate locally displayed information to the consumer under control of the agent for display by the consumer.